import moment from '@/common/moment.js'
/**
 * 时间格式化
 * @param {Number} date 时间毫秒数
 * @returns 
 */
export const dateFormat = (date) => {
   const curdate = new Date()
   const timestamp = new Date(date).getTime()
   const start = new Date(curdate.getFullYear(), 0, 1).getTime()  // 今年第一天毫秒数
   if(timestamp < start) {
      return moment(new Date(timestamp)).format('YYYY-MM-DD HH:mm')
   }
   let td = Math.round((new Date().getTime() - timestamp) / 1000)
   if(td < 60) {
      return `${td}秒前`
   }else if(td < 60 * 60) {
      td = Math.floor(td / 60)
      return `${td}分钟前`
   }else if(td < 60 * 60 * 24) {
      td = Math.floor(td / 60 / 60)
      return `${td}小时前`
   }else if(td < 60 * 60 * 24 * 7) {
      td = Math.floor(td / 60 / 60 / 24)
      return `${td}天前`
   }else if(td < 60 * 60 * 24 * 30) {
      td = Math.floor(td / 60 / 60 / 24 / 7)
      return `${td}周前`
   }else {
      return moment(new Date(timestamp)).format('MM-DD HH:mm')
   }
}

/**
 * 星期格式化
 * @param {Number} day 当前星期X
 * @param {String} type 展示格式 0：星期X  1：周X
 * @returns 
 */
export const week = (day, type = '1') => {
   switch (day) {
      case 0:
         return type == '1' ? '周日' : '星期日'
      case 1:
         return type == '1' ? '周一' : '星期一'
      case 2:
         return type == '1' ? '周二' : '星期二'
      case 3:
         return type == '1' ? '周三' : '星期三'
      case 4:
         return type == '1' ? '周四' : '星期四'
      case 5:
         return type == '1' ? '周五' : '星期五'
      case 6:
         return type == '1' ? '周六' : '星期六'
   }
}

/**
 * 秒转换时分秒
 * @param {String, Number} seconds 待转换秒数
 * @returns 
 */
export const secondsTransformToStr = (seconds) => {
   const reg = /^[0-9]/
   if(!reg.test(seconds)) {
      return '参数格式错误'
   }
   const value = parseInt(seconds)
   if((typeof value) != 'number') {
      return '参数格式错误'
   }
   // 3600s == 1h
   // 60s == 1m
   let [h, m, s] = [0, 0, 0]
   h = Math.floor(value / 3600)
   h = h < 10 ? '0' + h : h
   if(h > 0) {
      m = Math.floor((value % 3600) / 60)
   }else {
      m = Math.floor(value / 60)
   }
   m = m < 10 ? '0' + m : m
   if(m > 0) {
      s = Math.floor((value % 3600 % 60))
      s = s < 10 ? '0' + s : s
   }
   return h > 0 ? `${h}小时${m}分${s}秒` : `${m}分${s}秒`
}
